<template>
	<el-row class="container">
		<el-col :span="24" class="header">
			<el-col :span="4" class="logo" :class="collapsed?'logo-collapse-width':'logo-width'">
				{{collapsed?'':sysName}}
			</el-col>
			<!--<el-col :span="10">-->
				<!--<div class="tools" @click.prevent="collapse">-->
					<!--<i class="fa fa-align-justify"></i>-->
				<!--</div>-->
			<!--</el-col>-->

			<el-col :span="14">
				<el-menu router :default-active="$route.path" class="el-menu-demo" mode="horizontal" text-color="#fff" active-text-color="#ffd04b" :background-color=navStyle>
					<template v-for="(item,index) in $router.options.routes" v-if="routesFun(item)">
						<el-submenu :index="index+''" v-if="!item.leaf">
							<template slot="title">{{item.name}}</template>
							<el-menu-item  v-for="child in item.children" :index="child.path" :key="child.path" v-if="!child.hidden">{{child.name}}</el-menu-item>
						</el-submenu>
						<el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path">{{item.children[0].name}}</el-menu-item>
					</template>
				</el-menu>
			</el-col>


			<el-col :span="4" class="userinfo">
				<el-dropdown trigger="hover">
					<span class="el-dropdown-link userinfo-inner"><img :src="this.sysUserAvatar" />欢迎 {{ sysUserName }}</span>
					<el-dropdown-menu slot="dropdown">
						<el-dropdown-item @click.native="personalInfo()">个人中心</el-dropdown-item>
						<el-dropdown-item @click.native="updatepwd()">修改密码</el-dropdown-item>
						<el-dropdown-item divided @click.native="logout">退出登录</el-dropdown-item>
					</el-dropdown-menu>
				</el-dropdown>
			</el-col>
		</el-col>

		<el-col :span="24" class="main">
			<section class="content-container">
				<div class="grid-content bg-purple-light">
					<el-col :span="24" class="breadcrumb-container">
						<!--<strong class="title">{{$route.name}}</strong>-->
						<el-breadcrumb separator="/" class="breadcrumb-inner" style="float:left;">
							<el-breadcrumb-item v-for="item in $route.matched" :key="item.path">
								{{ item.name }}
							</el-breadcrumb-item>
						</el-breadcrumb>
					</el-col>
					<el-col :span="24" class="content-wrapper">
						<transition name="fade" mode="out-in">
							<router-view></router-view>
						</transition>
					</el-col>
				</div>
			</section>
		</el-col>
	</el-row>
</template>

<script>

    import * as types from '../store/types'
	export default {
		data() {
			return {
				sysName:'COURSE-PLAY',
                navStyle:types.NAVCOLOR,
				collapsed:false,
				sysUserName: '',
				sysUserPermission:'',
				sysUserAvatar: '',
				currentUser:JSON.parse(localStorage.getItem("CurrentUser"))
			}
		},
		methods: {
            personalInfo(){
                this.$router.push({path:'/personal'});
                console.log(this.$router);
			},
            updatepwd(){
              	this.$router.push({path:'/updatepwd'});
			},
			//退出登录
			logout: function () {
				var _this = this;
				this.$confirm('确认退出吗?', '提示', {
					//type: 'warning'
				}).then(() => {
					this.$http.get("/api/logout").then(res => {
                        this.$store.commit(types.LOGOUT);
                        _this.$router.push('/login');
					}).catch(error => {
                        if(error) console.log(error);
					});
				}).catch(() => {
				});
			},
			showMenu(i,status){
				this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-'+i)[0].style.display=status?'block':'none';
			},
			routesFun(item){
				if(!item.hidden && item.permission && item.permission.indexOf(this.currentUser.usertype)>=0){
				    return true;
				}
				return false;
			}
		},
		mounted() {
			if (this.currentUser) {
				this.sysUserPermission = this.currentUser.usertype;
				this.sysUserName = this.currentUser.username || '';
				this.sysUserAvatar = this.currentUser.avatar || this.CONSTANT.USER_AVATAR;
			}

		}
	}

</script>

<style scoped lang="scss">
	@import '~scss_vars';

	.navclass{
		background-color: $color-primary;
	}

	.container {
		position: absolute;
		top: 0px;
		bottom: 0px;
		width: 100%;
		.header {
			height: 60px;
			line-height: 60px;
			background: $color-primary;
			color:#fff;
			.userinfo {
				text-align: right;
				padding-right: 35px;
				float: right;
				.userinfo-inner {
					cursor: pointer;
					color:#fff;
					img {
						width: 40px;
						height: 40px;
						border-radius: 20px;
						margin: 10px 0px 10px 10px;
						float: right;
					}
				}
			}
			.logo {
				//width:230px;
				height:60px;
				font-size: 22px;
				padding-left:20px;
				padding-right:20px;
				border-color: #545c64;
				border-right-width: 1px;
				border-right-style: solid;
				img {
					width: 40px;
					float: left;
					margin: 10px 10px 10px 18px;
				}
				.txt {
					color:#fff;
				}
			}
			.logo-width{
				width:230px;
			}
			.logo-collapse-width{
				width:60px
			}
			.tools{
				padding: 0px 23px;
				width:14px;
				height: 60px;
				line-height: 60px;
				cursor: pointer;
			}
		}
		.main {
			display: flex;
			// background: #324057;
			position: absolute;
			top: 60px;
			bottom: 0px;
			overflow: hidden;
			aside {
				flex:0 0 230px;
				width: 230px;
				// position: absolute;
				// top: 0px;
				// bottom: 0px;
				.el-menu{
					height: 100%;
				}
				.collapsed{
					width:60px;
					.item{
						position: relative;
					}
					.submenu{
						position:absolute;
						top:0px;
						left:60px;
						z-index:99999;
						height:auto;
						display:none;
					}

				}
			}
			.menu-collapsed{
				flex:0 0 60px;
				width: 60px;
			}
			.menu-expanded{
				flex:0 0 230px;
				width: 230px;
			}
			.content-container {
				//background: #f1f2f7;
				flex:1;
				// position: absolute;
				// right: 0px;
				// top: 0px;
				// bottom: 0px;
				// left: 230px;
				overflow-y: scroll;
				padding: 20px;
				.breadcrumb-container {
					//margin-bottom: 15px;
					.title {
						width: 200px;
						float: left;
						color: #475669;
					}
					.breadcrumb-inner {

					}
				}
				.content-wrapper {
					background-color: #fff;
					box-sizing: border-box;
				}
			}
		}
	}
</style>
